package com.apigen.platform.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * 数据表管理实体类
 *
 * @author API Generator
 * @since 2025-09-24
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("gen_table")
public class GenTable {

    /**
     * 表ID
     */
    @TableId(value = "table_id", type = IdType.ASSIGN_ID)
    private Long tableId;

    /**
     * 表名称
     */
    @TableField("table_name")
    private String tableName;

    /**
     * 表描述
     */
    @TableField("table_comment")
    private String tableComment;

    /**
     * 表类型(TABLE/VIEW)
     */
    @TableField("table_type")
    private String tableType;

    /**
     * 存储引擎
     */
    @TableField("engine")
    private String engine;

    /**
     * 字符集
     */
    @TableField("charset")
    private String charset;

    /**
     * 排序规则
     */
    @TableField("collation")
    private String collation;

    /**
     * 自增起始值
     */
    @TableField("auto_increment")
    private Long autoIncrement;

    /**
     * 所属项目ID
     */
    @TableField("project_id")
    private Long projectId;

    /**
     * 创建者ID
     */
    @TableField("creator_id")
    private Long creatorId;

    /**
     * 创建时间
     */
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;
}
